1. Field of the Invention
The present invention relates to a storage control system comprising a plurality of controllers connected via an internal communication path and receiving data-input/output commands inputted from an external communication path and carrying out data-input/output control of storage devices, and to a method of controlling the storage control system.
2. Description of the Related Art
Recently, needs for so-called NAS (Network Attached Storage) servers are increasing. The NAS server, as one type of storage product, is a storage control system provided with an inner file system and capable of handling data-input/output requests according to file destination.
Further, as one type of NAS server, there exists a product structured to accommodate in one housing or cabinet a plurality of controllers connected respectively to an external communication path such as a LAN and capable of respectively responding to process requests sent individually through the external communication path, in order to, for example, enhance process abilities. The storage control systems are often used for mission-critical circumstances, and are generally required to possess high availability.
Now, regarding failure detection between computers on a LAN, there has been conventionally known a mechanism for enhancing availability by exchanging heartbeat messages among the computers on the LAN and mutually monitoring their operational states. For example, in Japanese Patent Application Laid-open Publication No. 2000-222373, there is disclosed a mechanism for a clustered computer system, in which computers structuring a cluster periodically exchange heartbeat messages across a LAN and mutually monitor their operational states, and in case the heartbeat messages are not exchanged normally with a certain controller, data service carried out by that controller is appropriately handed over to another normally-operating controller. Further, in Japanese Patent Application Laid-open Publication No. 2001-100943, there is disclosed a cluster system in which two PC servers carry out communication for exchanging heartbeats by using a SCSI bus to which disk devices are connected.
In a storage control system structured to comprise a plurality of controllers as in the structure of FIG. 1, although each of the controllers are installed within the same housing, these controllers individually and respectively provide services for requests from an external communication path. Thus, alike the instances disclosed in the above-mentioned publications, in order to enhance availability, it is thought that it may be effective for the storage control system structured as above to comprise a mechanism in which the operational states are monitored between the controllers, and in case a failure is detected in one certain controller, the service carried out by that controller is handed over to another normally-operating controller.
In providing such a mechanism, there will be a need to appropriately select a communication path to be used for transmission of the operational information. For example, in the clustered computer system of the above-mentioned publication, the external communication path such as the LAN connecting the computers or a private communication path is used as the communication path for exchanging the operational information (in this example, the heartbeat messages).
However, the external communication path has problems in that reliability between the path is not sufficient, and the communication rate is not sufficient or is not constant. Further, in case of providing a private communication path, this will involve excessive costs since private facilities will be necessary.
On the other hand, in the above-mentioned storage control system structure shown in FIG. 1, the controllers are mutually connected by an internal communication path. The internal communication path is for carrying out data-input/output command and carrying out input/output of data, alike a control bus formed on a circuit board and connecting a CPU and a memory. Such an internal communication path generally has a higher reliability and a higher transmission ability compared to external communication paths such as LANs. Accordingly, it is thought that it would be possible to easily realize a mechanism for monitoring operational states between controllers with high reliability and at low costs, by using the internal communication path as a communication path for the operational information.